var app = getApp()

import {
  getLabels,
} from '../../../api/douyin'

Component({
  data: {
    popupHeight: 0, // 弹出层的高度 - 整个屏幕的高度
    contentHeight: 0, // 滑动内容区域的高度（整屏高度减去胶囊高度）

    // 标签列表
    list: [],

    // 选择标签
    radios: [{
        value: 'union',
        name: '并集',
      },
      {
        value: 'intersection',
        name: '交集',
      },
    ],
    // 查询方式
    radioType: 'union', // 标签类型 union.并集 intersection.交集 radio.单选 empty_label.空标签 all.全部
    // 选择的标签
    labels: [],

    // 选择排序方式
    pickerValue: [],
    pickerText: '',
    pickerVisible: false,
    pickerOrders: [{
        label: '发布时间倒序',
        value: 'publishtimedesc'
      },
      {
        label: '发布时间正序',
        value: 'publishtimeasc'
      },
      {
        label: '添加时间倒序',
        value: 'createtimedesc'
      },
      {
        label: '添加时间正序',
        value: 'createtimeasc'
      },
      {
        label: '喜欢数正序',
        value: 'diggcountasc'
      },
      {
        label: '喜欢数倒序',
        value: 'diggcountdesc'
      },
      {
        label: '评论数正序',
        value: 'commentasc'
      },
      {
        label: '评论数倒序',
        value: 'commentdesc'
      },
      {
        label: '分享数正序',
        value: 'shareasc'
      },
      {
        label: '分享数倒序',
        value: 'sharedesc'
      },
    ],

  },
  properties: {

  },

  ready() {
    // 系统屏幕位置信息
    const systemInfo = wx.getSystemInfoSync()

    // 胶囊位置信息
    const menuButtonInfo = wx.getMenuButtonBoundingClientRect()

    this.setData({
      popupHeight: systemInfo.screenHeight, // 整个屏幕的高度
      contentHeight: systemInfo.screenHeight - menuButtonInfo.bottom, // 滑动内容区域的高度（整屏高度减去胶囊高度）(ios底部40高度不用管)
    })

  },

  methods: {

    // ##########################################################################################
    // # Popup弹出层模块
    // ##########################################################################################

    /******************** 组件页面全屏弹出框 ********************/

    // 打开弹出层
    onPopupOpen() {
      this.handlePickerInit()
      this.handleLabelSetInit()
      this.setData({
        show: true,
      })
    },

    // 收起弹出层
    onPopupHide() {
      this.setData({
        show: false,
      })
      // console.log('label_type', this.data.radioType)
      // console.log('order', this.data.pickerValue[0])
      // console.log('labels', this.data.labels)
      // console.log('labels', JSON.stringify(this.data.labels))
      this.triggerEvent("selectdone", {
        label_type: this.data.radioType,
        labels: this.data.labels,
        order: this.data.pickerValue[0],
      })
    },

    // ##########################################################################################
    // # 单选多选按钮
    // ##########################################################################################

    // 多选按钮
    onChangeCheckbox(e) {
      // console.log('labels', e.detail.value)
      this.setData({
        labels: e.detail.value
      })
    },

    // 单选按钮
    onChangeRadio(e) {
      // console.log('onChangeRadio', e.detail.value)
      this.setData({
        radioType: e.detail.value
      })
    },

    // ##################################################
    // # 选择项目列表排序
    // ##################################################

    // 初始化项目排序
    handlePickerInit() {
      let porder = wx.getStorageSync("dataInitItemOrder")
      if (!porder)
        porder = 'publishtimedesc'
      // console.log('porder', porder)
      let plabel = ''
      this.data.pickerOrders.forEach((item, index) => {
        if (item.value == porder)
          plabel = item.label
      })
      this.setData({
        pickerValue: [porder],
        pickerText: plabel,
      })
    },

    // 打开Picker - 选择排序方式
    handleOpenPicker(e) {
      // console.log('handleOpenPicker', e)
      this.setData({
        pickerVisible: true
      })
    },

    // picker选择
    bindPickerChange(e) {
      // console.log('picker选择了', e.detail)
      wx.setStorageSync("dataInitItemOrder", e.detail.value[0])
      this.setData({
        pickerValue: e.detail.value,
        pickerText: e.detail.label[0],
        pickerVisible: false,
      })
    },

    // ##########################################################################################
    // # 云服务交互
    // ##########################################################################################

    // 获取标签列表
    handleLabelSetInit() {
      getLabels(0).then(res => {
        if (res.status == 200) {
          this.setData({
            list: res.data.list,
          })
        } else {
          app.showToast(res.msg)
        }
      })
    },

    // ##########################################################################################

  }
})